home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
commodore-users-of-norman
/
CUON_18_(11-1984).d64
/
word puzzle
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
2KB
|
77 lines
100 PRINT"[147][158]":POKE53280,0:POKE53281,0
110 FORT=1TO2:GOSUB1000:NEXT
120 TX$="F I N[159] D A[158] W[156] O R D":GOSUB800
130 MA=64
140 IFMA=20THENPOKE36879,8
150 DIME$(20,22),D$(20),ZX(20),ZY(20),OA(8),TW(20),H$(20,22)
160 FORI=1TO20:FORJ=1TO20:E$(I,J)="":NEXT:NEXT
170 RESTORE:FORI=1TO8:READQA(I),QB(I):NEXT
180 DATA0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1
190 FORI=1TO20:D$(I)="":ZX(I)=0:ZY(I)=0:NEXT
200 REM INPUT WORDS
210 PRINT"[159][147]HOW MANY WORDS(MAX20) ";:INPUTND$:GOSUB1000
220 PRINT:NW=VAL(ND$):IFNW<1ORNW>20THEN210
230 TX$="[147]NOW TYPE IN THE WORDS.......":GOSUB800:GOSUB1000
240 TX$=" (THEY MUST BE BETWEEN 3 AND 15 LETTERS)":GOSUB800:GOSUB1000
250 FORI=1TONW:PRINT"(";
260 PRINTI"[157]) ";
270 INPUT"[157]";D$(I)
280 IF LEN(D$(I))<3 OR LEN(D$(I))>15 THENPRINTCHR$(13)"[145][145][145]":GOTO260
290 PRINT:NEXT
300 OPEN4,4
310 FORI=1TONW
320 PRINT#4,D$(I);SPC(20-LEN(D$(I)));:IFI=4ORI=8ORI=12ORI=16THENPRINT#4,:
330 NEXT
340 PRINT#4,:PRINT#4,:FORR=1TO64:PRINT#4,"*";:NEXTR:PRINT#4,:PRINT#4,"*";
350 PRINT#4," ";SPC(61);"*"
360 CLOSE4
370 REM PLACE
380 PRINT"[147] MAKING GRID ":GOSUB1000
390 PRINT" PLEASE WAIT":GOSUB1000
400 PW=0:FORAB=1TONW:PW=PW+1
410 ZX(PW)=INT(20*RND(1)+1)
420 ZY(PW)=INT(20*RND(1)+1)
430 DR=INT(8*RND(1)+1):TW(PW)=DR
440 CX=ZX(PW)+LEN(D$(PW))*QA(DR):CY=ZY(PW)+LEN(D$(PW))*QB(DR)
450 IFCX<1ORCX>20ORCY<1ORCY>20THEN410
460 F=0:FORCK=0TOLEN(D$(PW))-1
470 Z1$=MID$(D$(PW),CK+1,1):Z2$=E$(ZX(PW)+CK*QA(DR),ZY(PW)+CK*QB(DR))
480 IFZ2$<>""ANDZ1$<>Z2$THENF=1
490 NEXT:IFF=1THEN410
500 FORCK=0TOLEN( D$(PW))-1
510 Z1$=MID$(D$(PW),CK+1,1):E$(ZX(PW)+CK*QA(DR),ZY(PW)+CK*QB(DR))=Z1$
520 NEXT
530 NEXT AB
540 REMPRINTSEARCHMATRIX
550 PRINT"[147]"
560 PRINT"":FORY=1TO20:FORX=1TO20
570 H$(X,Y)=E$(X,Y):IFE$(X,Y)=""THENH$(X,Y)="-"
580 IFE$(X,Y)=""THENE$(X,Y)=MID$(D$(NW*RND(1)+1),3*RND(1)+1,1)
590 IFMA=64THENPRINTE$(X,Y);" ";:GOTO610
600 IFMA=20THENPRINTE$(X,Y);
610 NEXT
620 IFMA=20THENPRINT
630 C=0:NEXT
640 OPEN4,4
650 FORY=1TO20:PRINT#4,"* ";:FORX=1TO20
660 PRINT#4,E$(X,Y);" ";
670 NEXT:PRINT#4,"*":PRINT#4,"*";SPC(62);"*":NEXT
680 FORR=1TO64:PRINT#4,"*";:NEXTR:PRINT#4,:PRINT#4:CLOSE4
690 PRINT"[147]WANT THE ANSWERS????????":GOSUB1000
700 INPUT"Y OR N";GS$:GOSUB1000
710 IFGS$="Y"THENPRINT"[158]DON'T PEEK!!!!!!!!!!!!!":GOSUB750
720 INPUT" RUN AGAIN ";S$:GOSUB1000
730 IFS$="Y"THENCLR:GOTO120
740 PRINT"[147]":END
750 OPEN4,4
760 FORY=1TO20:FORX=1TO20
770 PRINT#4,H$(X,Y);" ";
780 NEXT:PRINT#4:NEXT
790 CLOSE4:RETURN
800 REM SLOW PRINT TO SCREEN
810 FORTX=1TOLEN(TX$):PRINTMID$(TX$,TX,1);
820 FORK=1TO20:NEXTK:NEXTTX
830 PRINT:RETURN
1000 S=54272:POKES+24,15:POKES+1,110:POKES+5,9:POKES+6,9:POKES+4,17:POKES+4,16
1001 RETURN